


"""
pytest:功能特别强大的python测试框架
主要使用编写简单的或复杂的函数/类的测试
语法简洁，无需特定的类
自动发现测试用例（重点）
支持丰富的 插件（HTML报告，参数化，并行测试等）
与目前市面上主流IDE无缝集成

"""

"""
pytest测试用例的编写规则
测试文件：.py  文件 以test_（）.py  开始
或 ()_test.py 结尾
测试类：以Test（首字母大写）来命名
测试的函数/方法：test 开头
如果命名不按以上规则 那么文件或函数就不会被执行


-s 显示print（）输出内容
-v 显示详细测试名称
pytest -s -v .\pytest_math.py::Testcase::test_add
"""

class Testcase:
    def test_add(self):
        result = 1 + 2
        assert result == 3
        print('加法通过')

    def test_sub(self):
        result = 3 - 2
        assert result == 1
        print("减法通过")

    def test_mul(self):
        result = 3 * 2
        assert result == 1
        print("乘法通过")

    def test_div(self):
        result = 3 / 2
        assert result == 1.5
        print("除法通过")

    def test_zm(self):
        zm = "dog"
        assert zm in "dog"
        print("臧淼是小狗通过")

    def test_by(self):
        by = "by"
        assert by != "dog"
        print("by不是小狗通过")

    def test_eq(self):
        eq = False
        assert eq is False
        print("eq通过")

# addopts = -v --tb=short --strict-markers --maxfail=2 -x
"""
-v 详细输出
--tb=short 简化traceback    traceback : 回溯信息的格式
--strict-markers 禁止使用未注册的mark
--maxfail=2 最多失败两个测试就停止
-x 遇到第一个失败就退出

"""

# testpaths = test integration_tests
# 避免pytest遍历整个的项目目录 只在规定的路径寻找测试 提升效率











